package com.miplus.ccrm.core.service.aiqm;

import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.miplus.ccrm.common.CmdResVo;
import com.miplus.ccrm.core.controller.vo.aiqm.*;
import com.miplus.ccrm.core.pojo.QmFileTask;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.validation.constraints.NotNull;

/**
 * @author 20144
 * @description 针对表【QM_FILE_TASK(质检数据文件URL任务表)】的数据库操作Service
 * @createDate 2025-08-21 14:49:16
 */
public interface QmFileTaskService extends IService<QmFileTask> {

    CmdResVo createQmTask(String usrid, QmCrtTaskReqVo reqVo);

    IPage<QmTaskListResVo> qmTaskList(QmTaskReqVo reqVo);

    QmTaskResVo qmTaskDetail(@NotNull String qmtaskid);

    CmdResVo submitQmTask(QmSubmitTaskReqVo reqVo) throws NoApiKeyException, InputRequiredException;

    CmdResVo startTranscript(StartTranscriptReqVo reqVo);

    CmdResVo checkResult(String usrid, QmTaskCheckVo checkVo);

    IPage<CallResVo> recordList(CallReqVo callReqVo);
}
